SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE [dbo].[Inscripciones]


@Alumno int,
@AnioLectivo int, 
@Organizacion int,
@Carrera int = Null,
@Curso varchar(2) = Null,
@Escolarizado varchar(1) = Null,
@Resuelta char(1) = Null,



-- Parametro para especifica que operacion es A=Alta, B=Baja, M=Modificacion
@ABM int
AS
SET NOCOUNT ON
--SET @Mnemo = RTRIM(LTRIM(@Mnemo))

--declare @Falta datetime
--Select @Falta = cast(@FechaAlta as datetime)
--if (@FechaBaja <> 'null') begin
--declare @FBaja datetime
--Select @FBaja = cast(@FechaBaja as datetime)
--end


if exists (Select * from tb_Inscripciones where Alumno = @Alumno and AnioLectivo = @AnioLectivo and Carrera = @Carrera) begin
set @ABM = 3
end
else begin
set @ABM = 1
end

if @ABM = 1 begin
BEGIN TRANSACTION
INSERT INTO tb_Inscripciones (Alumno,AnioLectivo,Organizacion,Carrera,Curso,Escolarizado,Resuelta)
VALUES (@Alumno,@AnioLectivo,@Organizacion,@Carrera,@Curso,@Escolarizado,@Resuelta)
declare @idInscripcion int 
Select @idInscripcion =  @@identity


if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRANSACTION
end

if @ABM = 3 begin
BEGIN TRANSACTION
UPDATE tb_Inscripciones
SET Alumno = @Alumno,AnioLectivo = AnioLectivo,Organizacion = @Organizacion,Carrera = @Carrera,Curso = @Curso,Escolarizado = @Escolarizado,Resuelta = @Resuelta
where Alumno = @Alumno and AnioLectivo = @AnioLectivo and Carrera = @Carrera

if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRAN
end

if @ABM = 2 begin
BEGIN TRANSACTION
DELETE tb_Inscripciones FROM  tb_Inscripciones WHERE  Alumno = @Alumno and AnioLectivo = @AnioLectivo and Carrera = @Carrera

if @@error = 0
	COMMIT TRAN
else
	ROLLBACK TRAN

end
GO
